www.gusucode.com > 小波分析理论与Matlab 7实现 > 小波分析理论与Matlab 7实现/code/Ch13/examp13_9.m

    clc;
clear;
% 装载信号并选择其中一段
load leleccum; indx = 2600:3100; 
x = leleccum(indx);
% 使用db3在第5层执行信号的小波分解
wname = 'db3'; lev = 5;
[c,l] = wavedec(x,lev,wname);
% 信号压缩,使用wdcbm 选择各层的独立阈值
alpha = 1.5; m = l(1);
[thr,nkeep] = wdcbm(c,l,alpha,m)
% 使用wdencmp和硬阈值进行信号压缩
[xd,cxd,lxd,perf0,perfl2] =wdencmp('lvd',c,l,wname,lev,thr,'h');
% 画出原始信号和压缩后信号
subplot(211), plot(indx,x), title('原始信号');
subplot(212), plot(indx,xd), title('压缩后信号');
xlab1 = ['2-norm rec.: ',num2str(perfl2)];
xlab2 = [' %  -- zero cfs: ',num2str(perf0), ' %'];
xlabel([xlab1 xlab2]);